Here is the example.json recipe file with comments:
{ "outputfiles": [ { "fields": [ # for fields, the name must be a name that has been given in the tablelist section below # these are often field names from the input datasets, but also can be fieldnames generated from actions # newname is the fieldname that will be generated in the output file and replace the old field name { "newname": "gene_symbol", "name": "Gene Symbol" }, { "newname": "uniprot_ac", "name": "Uniprot AC" }, { "newname": "chr_num", "name": "Chr Num" }, { "newname": "chr_pos", "name": "Chr Pos" }, { "newname": "ref_nt", "name": "Ref NT" }, { "newname": "alt_nt", "name": "Alt NT" } ], # the tableid denotes what table from the tablelist will be used for this output file "tableid": 3, # the masterlistfilter field denotes the fieldname that is used as the primary field name for filtering "masterlistfilterfield":"gene_symbol", # the filepath gives the name and path for the outputfile "filepath": "unreviewed/example_dataset.csv" } ], "tablelist": [ { # every table in tablelist has a tableid, which can be referenced by other acgtions or the outputfile "id": 1, # input denotes we are taking a file in from the filepath listed "type": "input", # the separator denotes the structure of the input file # here the separator is 'doublequote comma doublequote' # so each line of the input file looks like this "a","b","c" "separator": "\",\"", # list of the fields in the inout file "fields": [ "Uniprot AC", "Chr Num", "Chr Pos", "Ref NT", "Alt NT", "EXAC Alt Frequency", "1000 Genomes Alt Frequency" ], "filepath": "downloads/example_mutations.csv" }, { # same as above for table '"id":1', but for a different input file "id": 2, "type": "input", "separator": "\",\"", "fields": [ "uniprot accession", "Gene Symbol" ], "filepath": "downloads/example_mapping.csv" }, { # this table performs an action "id": 3, # the type is output so it will be generating a new table based on the action used "type": "output", # the tables that are input to generate this new table. # in this case our input files from tables 1 and 2 "inputtables":[1,2], # what action will be taken to make the new table "action":{ # the name gives the specific action to take "name":"jointables", # different actions have their own parameters. # in this case the jointables action has only the parameter "anchorfields". # specific details on actions are below in the README "anchorfields":["Uniprot AC", "uniprot accession"] }, } ] }